9 research outputs found

    Requirements Engineering that Balances Agility of Teams and System-level Information Needs at Scale

    Get PDF
    Context: Motivated by their success in software development, large-scale systems development companies are increasingly adopting agile methods and their practices. Such companies need to accommodate different development cycles of hardware and software and are usually subject to regulation and safety concerns. Also, for such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: The overall aim of this thesis is to investigate the challenges and solution candidates of performing effective requirements engineering in an agile environment, based on empirical evidence. Illustrated with studies on safety and system-level information needs, we explore RE challenges and solutions in large-scale agile development, both in general and from the teams’ perspectives. Method: To meet our aim, we performed a secondary study and a series of empirical studies based on case studies. We collected qualitative data using interviews, focus groups and workshops to derive challenges and potential solutions from industry. Findings: Our findings show that there are numerous challenges of conducting requirements engineering in agile development especially where systems development is concerned. The challenges discovered sprout from an integration problem of working with agile methods while relying on established plan-driven processes for the overall system. We highlight the communication challenge of crossing the boundary of agile methods and system-level (or plan-driven) development, which also proves the coexistence of both methods. Conclusions: Our results highlight the painful areas of requirements engineering in agile development and propose solutions that can be explored further. This thesis contributes to future research, by establishing a holistic map of challenges and candidate solutions that can be further developed to make RE more efficient within agile environments

    Requirements Engineering Challenges of Supporting Agile Teams in System Development

    Get PDF
    Context: Agile methods have attracted many companies due to their reported benefits of short time-to-market and improved quality outputs. In the systems development context, additional constraints apply e.g. as a result of scale or parallel development of hardware and software. Traditionally, stage-gate processes with a focus on up-front requirements analysis are common in large- scale systems engineering. These processes clash with the companies’ desire to become more agile.Objective: The aim of this thesis is to discover challenges that new requirements engineering approaches should address to enable agile system devel- opment at scale (RE4Agile). With a focus on value and building system understanding, we explore these challenges from the perspective of the agile development teams.Method: To meet our aim, we conducted a series of empirical studies based on case studies, and a secondary review to explore the problem domain while deriving challenges and potential solutions from industry and literature respectively.Findings: Our findings show that there are numerous challenges of conducting requirements engineering in agile development especially where systems development is concerned. These challenges relate to user value and overall system understanding. However, there are some cross-cutting concerns, e.g safety- critical development, that have generated much interest both from practitioners and academicians at large.Conclusions: The challenges discovered sprout from an integration problem of working with agile methods while using the already existing processes as well. However, solution candidates exist and our future research aims to validate some of the solution candidates in the view of deriving new RE approaches. This thesis contributes to such future research, by establishing a holistic map of challenges that allows to assess whether a given solution is beneficial in the larger context or whether it over-optimizes only one area

    Requirements engineering challenges and practices in large-scale agile system development

    Get PDF
    Context: Agile methods have become mainstream even in large-scale systems engineering companies that need to accommodate different development cycles of hardware and software. For such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: This paper presents a multiple case study with seven large-scale systems companies, reporting their challenges, together with best practices from industry. We also analyze literature about two popular large-scale agile frameworks, SAFe (R) and LeSS, to derive potential solutions for the challenges. Methods: Our results are based on 20 qualitative interviews, five focus groups, and eight cross company workshops which we used to both collect and validate our results. Results: We found 24 challenges which we grouped in six themes, then mapped to solutions from SAFe (R), LeSS, and our companies, when available. Conclusion: In this way, we contribute a comprehensive overview of RE challenges in relation to largescale agile system development, evaluate the degree to which they have been addressed, and outline research gaps. We expect these results to be useful for practitioners who are responsible for designing processes, methods, or tools for large scale agile development as well as guidance for researchers

    Requirements engineering for large scale agile systems development

    No full text
    Agile practices such as continuous integration and delivery promise shorter time to market and improved quality. For this reason, such practices have been adopted in many software companies. In the context of systems development, additional constraints apply, e.g., as a result of scale or parallel development of hardware and software. Traditionally, stage-gate processes with a focus on up-front requirements analysis are common in large-scale systems engineering. However, long upfront analysis is considered anti agile and there is some friction between RE (which is often considered as a waterfall activity or phase) and agile practices. This paper describes a research agenda that plans to address this friction. The work proposes a series of empirical studies to discover the information needs and related knowledge, pertinent to product development. We expect to make a contribution by establishing guidelines and frameworks that can be used to make requirements engineering a foundation for agile systems development

    Adding value every sprint: A case study on large-scale continuous requirements engineering

    No full text
    Agile development practices, such as continuous integration and continuous delivery, promise value through shorter time to market and increased exibility. While these practices have been widely adopted in small-scale, they have shown to be challenging to adopt in large-scale, system development. This is often due to a distance between customer and developer in large scale systems, and the need to break down value from the whole system into manageable parts. The notion of value is fundamental for agile methods, especially for practices such as continuous delivery to the customer. However, how value should be handled in development practices is not clearly understood. In this paper, we investigate how the notion of adding value in every sprint has been perceived in a large-scale system development. Based on an exploratory qualitative case study, the outcome shows that it is perceived beneficial by practitioners although it comes at a price and challenges exist

    Requirements Engineering Challenges in Large-Scale Agile System Development

    No full text
    Agile methods have proven their value to accelerate delivery of high quality software products and services to customers. End-users have become used to regular updates that fix bugs and provide new features and for software products, short time-to-market has become an important business driver. In order to remain competitive, more and more companies imple- ment agile methods and their practices also for software-intense, large products, such as cars, telecommunication infrastructure, and embedded systems. Development of such system usually relies on plan-driven, stage-gate processes and is subject to safety and regulative concerns. Consequently, requirements engineering involves upfront and detailed analysis, which can be at odds with agile (software) development. In this paper, we present results from a multiple case study with two car manufacturers, a telecommunications company, and a technology company that are on the journey to introduce organization wide continuous integration and continuous delivery to customers. Based on 20 qualitative interviews, 5 focus groups, and 2 cross-company workshops, we discuss possible scopes of agile methods within system development, the consequences this has on the role of requirements, and the challenges that arise from the interplay of requirements engineering and agile methods in large-scale system development. These relate in particular to communicating and managing knowledge about a) customer value and b) the system under development. We argue that better alignment of a holistic requirements model with agile development practices promises rich gains in development speed, flexibility, and overall quality of software and systems

    Challenges of aligning requirements engineering and system testing in large-scale agile: A multiple case study

    No full text
    As agile methods become more pervasive, agile practices are applied to more large-scale systems with a scope that goes beyond pure software. The expansion of agile in these contexts provides benefits, but creates new challenges. Widespread use of agile has changed the way we must think about practices both in Requirements Engineering (RE) and in System Testing (ST). Our experience shows that many challenges in the application of large-scale agile development relate to either RE or ST, and in particular to the alignment between these areas. In this paper we present large-scale agile-related challenges from a multiple case study which relate to REST alignment. We map our challenges to an existing framework for REST alignment, and make an initial attempt to suggest agile RE practices from the literature which may alleviate these challenges. Our results show that the interviewed companies need to first adopt more agile RE practices to enhance REST alignment and then leverage agile testing. Future work will look more towards evaluating these best practices

    Quality Requirements in Agile as a Knowledge Management Problem: More than Just-in-Time

    No full text
    Just-in-time (JIT) approaches have been suggested for managing non-functional requirements in agile projects. However, many non-functional requirements cannot be raised and met on the spot. In this position paper, we argue that effective JIT engineering of quality requirements depends on a solid foundation of long-term knowledge about all relevant quality requirements. We present two examples from projects related to safety and security and show that not all aspects of these quality requirements can be invented and changed just in time. Further, managing, for example, operationalization of quality requirements just in time depends on sufficient understanding of (i) customer value and (ii) the system under construction that must be shared by the engineering team. If a Learning Software Organization (LSO) intends to increase agility and speed up system development, it needs a holistic concept for managing this knowledge. We propose that a knowledge-management framework can facilitate JIT-RE by structuring, representing, and allowing updates of long-term knowledge about quality requirements. Such a knowledge-management framework should allow to map user value to system requirements and have important properties to allow JIT RE and sustainable evolution

    Managing Traceability Information Models: Not Such a Simple Task After All?

    No full text
    Practitioners are poorly supported by the scientific literature when managing traceability information models (TIMs), which capture the structure and semantics of trace links. In practice, companies manage their TIMs in very different ways, even in cases where companies share many similarities. We present our findings from an in-depth focus group about TIM management with three different systems engineering companies. We find that the concrete needs of the companies as well as challenges such as scale and workflow integration are not considered by existing scientific work. We thus issue a call-to-arms for the requirements engineering and software and systems traceability communities, the two main communities for traceability research, to refocus their work on these practical problems
    corecore